package com.recharge.domain.vo;

import com.recharge.common.domain.BaseDO;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class OrderDO extends BaseDO {

    /**
     * 交易ID
     */
    private String transactionId;

    /**
     * 退款单ID
     */
    private String refundId;

    /**
     * 商品ID
     */
    private String goodsId;


    /**
     * 商品名称
     */
    private String goodsName;
    
    /**
     * 商品No
     */
    private Integer goodsNo;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 交易号
     */
    private String transactionNo;

    /**
     * 退款单编号
     */
    private String refundNo;

    /**
     * 1 移动2 电信3 联通
     */
    private Integer serviceProvider;


    /**
     * 充值号码
     */
    private String rechargeNumber;

    /**
     * 产品标题
     */
    private String title;

    /**
     * 价格
     */
    private Long amount;

    /**
     * 成本折扣
     */
    private Float costDiscount;

    /**
     * 销售折扣
     */
    private Float agentDiscount;

    /**
     * 商品数量
     */
    private Integer goodsQuantity;

    /**
     * 供货数量
     */
    private Integer provideQuartity;

    /**
     * 订回调地址
     */
    private String callback;

    /**
     * 归属地省
     */
    private String provinceName;

    /**
     * 充值凭证号
     */
    private String voucherNo;

    /**
     * 归属地城市
     */
    private String cityName;

    /**
     * 处理时长
     */
    private Long processTime;

    private Date createDate;

    private Date modifiDate;

    /**
     * 供应商ID
     */
    private String providerId;

    /**
     * 下游商户信息
     */
    private String merchantId;

    /**
     * 供应商号
     */
    private String providerNo;

    /**
     * 供应商名称
     */
    private String providerName;

    /**
     * 供应商流水号
     */
    private String providerSerialNumber;

    /**
     * 供应回调信息
     */
    private String providerCallbackInfo;

    /**
     * 共应商回掉状态
     */
    private Integer providerCallbackStatus;

    /**
     * 城市代码
     */
    private String cityCode;

    /**
     * 下游商家名
     */
    private String merchantName;

    /**
     * 下游商家编号
     */
    private String merchantNo;

    /**
     * 商家流水
     */
    private String merchantSerialNumber;

    /**
     * 商家回调信息
     */
    private String merchantCallbackInfo;

    /**
     * 商家回调状态
     */
    private Integer merchantCallbackStatus;

    /**
     * 1.创建 2.处理中 3.成功 4.失败 5.充值中 6.异常 7.未确认
     */
    private Integer status;

    private String nodeName;

    private String[] batchOrderId;

    /**
     * 0.不是重试 1.重试所有 2.重试当前 3.重试下一个
     */
    private Integer retryStatus = 0;

    private Integer cardStatus = 0;

    private Integer processNumber;
    private Integer successNumber;
    private Integer failNumber;
    private Integer unconfirmedNumber;
    private Integer totalNumber;
    private Integer handleNumber;
    private Double sale;
    private Double cost;
    private Long beforeBalance;
    private Long afterBalance;
    private long realAmount;
    private Integer goodsType;


    private GoodsChannelDO goodsChannelDO;

    private String cardNo;

    private String cardPassword;

    List<GoodsChannelDO> goodsChannels;

}
